<!DOCTYPE html>
<html lang="zh_CN">
<head>
	<meta charset="UTF-8">
	<title>惰性模式二（惰性执行绑定）</title>
</head>
<body>
	<div id="container">
		<a href="javascript:void(0)" id="btn">测试</a>
	</div>
	
	<script type="text/javascript">
		// 定义命名空间
		var A = {};
		// 添加绑定事件方法 on
		A.on = function(dom, type, fn) {
			// 如果支持 addEventListener 方法
			if (document.addEventListener) {
				// 重新定义 on 方法
				A.on = function(dom, type, fn) {
					dom.addEventListener(type, fn, false);
				}
			// 如果支持 attachEvent 方法
			} else if (document.attachEvent) {
				// 重新定义 on 方法
				A.on = function(dom, type, fn) {
					dom.attachEvent('on' + type, fn);
				}
			// 定义 on 方法
			} else {
				// 重新定义 on 方法
				A.on = function(dom, type, fn) {
					dom['on' + type] = fn;
				}
			}
			// 执行重定义的 on 方法
			A.on(dom, type, fn);
		};

		// 测试
		console.log(A.on);

		var btn = document.getElementById('btn');
		A.on(btn, 'click', function() {
			console.log('click');
		});
	</script>
</body>
</html>